2024年10月月度小结
项目开发
这个月我先是将 json-parser 的主要功能开发完成,本想之后实现一些诸如反序列化为结构体、注释等进阶功能的,但由于一些机缘巧合,我开始了另一个项目。
这还要从我在 GitHub 上看到的一个项目说起。这个项目叫作 deskflow,它提供的功能很简单:在两台电脑之间共享键盘和鼠标。
我看了看我的平板,它作为一个副屏性能有些不够,我想到,如果能有个软件能让电脑和平板共享键鼠就好了。
我搜索了一晚上,搜到了两个似乎较为可行的解决方案:deskdock 和 across。
但这两个软件不仅常年没有更新,而且还各有致命的问题:
- 对于 deskdock,使用它时要想使用电脑键盘在安卓设备上打字,需要购买安卓端的付费版本。但是其只有 Google Play 一个购买渠道,并且能通过 Google Play 进行正版验证。由于谷歌几乎完全禁止了来自中国大陆的支付方式,导致我想成为付费用户都没有渠道。
- 对于 across,这个软件主要是通过蓝牙来连接电脑和安卓设备,但我实践发现,可能是因为电脑的蓝牙连接问题,该软件完全不起作用。
于是我突发奇想,我能不能自己写一个这样的软件,满足自己的需求呢?
于是我开始搜索相关信息。经过简单检索,我发现 PC 端可以直接通过 ADB 向发送鼠标和键盘相关事件信号,从而实现我想要的功能。
但是经过简单实现,我发现单纯地使用 ADB 来发送键鼠信号存在较高的延迟,我开始搜寻降低延迟的方法。经过一番搜索,我搜到了 scrcpy 项目下这篇 issue Why your adb shell cmd execute so fast?。简单来说,scrcpy 并没有直接使用 adb 来发送输入信号,而是在安卓客户端设置了一个客户端,从而避免了 ADB 命令执行过程中的一些耗时步骤。
我几经波折,自己实现了 scrcpy 的客户端,用在了项目中,目前项目也基本成形,命名为 InputShare,中文名为“输入流转”。
自媒体
尝试给 InputShare 宣传,暂且发布使用演示一则,但播放数据惨淡。
写作输出
不计我高频输出的国庆假期,我这个月共写作博客 16 篇。不过由于国庆后的课明显多了起来,其中过半为学习笔记。
运动
经过反复斟酌,多家比价,斥资 180 元买了我的第一双跑鞋。
这个月也是我跑步里程最多的一个月,共跑约 30 公里。